package com.fate.system.dto.dict;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.Size;
import java.io.Serial;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.hibernate.validator.constraints.Length;

/**
 * @Author: ten.x @TableName tb_dict @Date: 2024-01-18 03:35:09 @Version: V1.0
 */
@Data
@Accessors(chain = true)
@TableName(value = "tb_dict")
@EqualsAndHashCode(callSuper = false)
public class DictAddDTO implements Serializable {

  @Serial
  @TableField(exist = false)
  private static final long serialVersionUID = 1L;

  /** 分组标识 */
  @Size(max = 255, message = "编码长度不能超过255")
  @TableField(value = "type")
  @Schema(description = "模块标识")
  @Length(max = 255, message = "编码长度不能超过255")
  private String type;

  /** 值 */
  @Size(max = 255, message = "编码长度不能超过255")
  @TableField(value = "value")
  @Schema(description = "值")
  @Length(max = 255, message = "编码长度不能超过255")
  private String value;

  /** 描述 */
  @Size(max = 255, message = "编码长度不能超过255")
  @TableField(value = "description")
  @Schema(description = "描述")
  @Length(max = 255, message = "编码长度不能超过255")
  private String description;

  @Schema(description = "模块名")
  private String moduleName;
}
